/*
 * This file (AkBlender.java) is protected by the GNU GPL licence (v2). 
 * Please read the license.txt attached for further informations. 
 * 
 */

package alkwarel.objects;

import processing.core.PImage;

/**
 * Blends two images into one
 * 
 * @author Xavier Gouchet
 * 
 */
public abstract class AkBlender extends AkActuator {

	/**
	 * Standard Constructor.
	 * 
	 * @param id
	 *            the object's id
	 * @param name
	 *            the object's name
	 */
	public AkBlender(int id, String name) {
		super(id, name, null);
	}

	/**
	 * Merges two layers on an Artspace
	 * 
	 * @param a
	 *            the Alkwarel Artspace on which the layers are merged
	 * @param low
	 *            the lower layer
	 * @param high
	 *            the higher layer
	 * @return boolean whether the method has been completed successfully or not
	 */
	public abstract boolean Merge(AkArtspace a, PImage low, PImage high);
	
	/**
	 * @see alkwarel.objects.AkActuator#Apply(alkwarel.objects.AkArtspace)
	 */
	public final boolean Apply(AkArtspace a){
		return false;		
	}

}
